Como não existe um concenso sobre a definição de computação em nuvem, vamos procurar
descrever esta tecnologia
simplesmente através de suas características.
A computação em nuvem nada mais é do que utilizar (em geral alugar) recursos
computacionais de uma máquina remota, para
executar uma ou mais aplicações e acessa-las localmente. Existem diferentes tipos de serviços
na nuvem como veremos mais
adiante, mas todos possuem uma arquitetura otimizada para utilização por vários usuários,
garantindo à computação em nuvem uma
boa escalabilidade. O serviço fornecido é praticamente único para todos os usuários, a não ser
por algumas opções de
personalização específicas de cada aplicação. Cada usuário tem acesso a uma instância
personalizada do serviço e montada sobre
uma estrutura comum entre todas as instâncias.
Um exemplo de aplicativo em nuvem largamente utilizado atualmente é o Google Docs, que
fornece acesso à um software que é
executado remotamente e não precisa de instalação nem configuração. Sua utilização é
praticamente instantânea. Outro ponto forte
da computação em nuvem é a mobilidade. Se queremos utilizar um editor de texto como o Google
Docs, eu preciso apenas me
conectar à Internet e utilizar o software de onde quer que eu esteja, e até simultaneamente de
diferentes lugares. Caso eu queira
usar um editor de texto fora da nuvem, como o Microsoft Word, eu preciso comprar e instalar em
todos os locais nos quais eu quero
acessar.
Vamos agora nos aprofundar melhor sobre as vantagens da utilização de software na nuvem.
Na nuvem, as atualizações de
software são realizadas de maneira transparente ao usuário, cabe a ele apenas a utilização do
software, pois a manutenção dele é
realizada pelo servidor. A utilização do software na nuvem é independente do conjunto de
hardware utilizado pelo usuário final,
poupando grandes problemas de compatibilidade com os quais os desenvolvedores já estão
habituados. Além de utilizarmos
software na nuvem, podemos também hospedar nosso software ou serviço na nuvem, como
veremos nas seções seguintes. O
serviço oferecido neste caso não é o acesso à um software. Existe o caso extremo onde o
alugamos uma máquina virtual completa.
Além destas, para os desenvolvedores de software há outras grandes vantagens em
hospedarem seus projetos em sistemas de
computação em nuvem. Uma delas é que eles não precisam se preocupar com os recursos de
hardware, uma vez que a empresa
que cede a eles estes recursos se preocupa com o dimensionamento, com a segurança e com
inúmeras outras variáveis, permitindo
o desenvolvedor de focar as suas atenções no desenvolvimento das suas aplicações. O
desenvolvedor apenas paga pelo que está
sendo utilizado. Se ele optasse por não utilizar a computação em nuvem, teria que comprar
equipamentos caros e cujo dinheiro
poderia ser ressarcido apenas muito tempo depois, fora a ociosidade dos equipamentos durante o
período inicial.